<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />

  <title>trie Interface</title>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii" />
  </head>

<body>
  <div id="page">
    <h1><tt>trie</tt> Interface</h1>

    <p>A concrete basic trie-based associative container.</p>

    <p>Defined in: <a href=
    "../../../../include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>

    <h2><a name="link1" id="link1">Template Parameters</a></h2>

    <table class="c1" width="100%" border="1" summary=
    "Template Parameters">
      <tr>
        <td width="20%" align="left"><b>Parameter</b></td>

        <td width="50%" align="left"><b>Description</b></td>

        <td width="30%" align="left"><b>Default Value</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Key2501" id="Key2501"><b>typename</b> Key</a>
</pre>
        </td>

        <td>
          <p>Key type.</p>
        </td>

        <td>-</td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
</pre>
        </td>

        <td>
          <p>Mapped type.</p>
        </td>

        <td>-</td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="E_Access_Traits686553840" id=
"E_Access_Traits686553840"><b>class</b> E_Access_Traits </a>
</pre>
        </td>

        <td>
          <p>Element-access traits.</p>
        </td>

        <td>-</td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Tag278938" id="Tag278938"><b>class</b> Tag </a>
</pre>
        </td>

        <td>
          <p>Data-structure tag.</p>
        </td>

        <td><a href="pat_trie_tag.html"><span class=
        "c2"><tt>pat_trie_tag</tt></span></a></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Node_Update841554648" id=
"Node_Update841554648"><b>template</b>&lt; 
  <b>typename</b> Const_Node_Iterator, 
  <b>typename</b> Node_Iterator, 
  <b>class</b> E_Access_Traits_, 
  <b>typename</b> Allocator_&gt;
<b>class</b> Node_Update </a>
</pre>
        </td>

        <td>
          <p>Node updater type.</p>

          <p><a href=
          "tree_based_containers.html#invariants">Design::Tree-Based
          Containers::Node Invariants</a> explains this
          concept.</p>
        </td>

        <td><a href="null_trie_node_update.html"><span class=
        "c2"><tt>null_trie_node_update</tt></span></a></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Allocator35940069" id=
"Allocator35940069"><b>class</b> Allocator </a>
</pre>
        </td>

        <td>
          <p>Allocator type.</p>
        </td>

        <td>
          <pre>
std::allocator&lt;<b>char</b>&gt;
</pre>
        </td>
      </tr>
    </table>

    <h2><a name="link2" id="link2">Public Types and
    Constants</a></h2>

    <h3><a name="link3" id="link3">Policy Definitions</a></h3>

    <table class="c1" width="100%" border="1" summary="Types">
      <tr>
        <td width="30%" align="left"><b>Type</b></td>

        <td width="55%" align="left"><b>Definition</b></td>

        <td width="15%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="e_access_traits1948190928" id=
"e_access_traits1948190928">e_access_traits</a>
</pre>
        </td>

        <td>
          <pre>
<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
</pre>
        </td>

        <td>
          <p>Element access traits type.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link4" id="link4">Iterator Definitions</a></h3>

    <table class="c1" width="100%" border="1" summary="Types">
      <tr>
        <td width="30%" align="left"><b>Type</b></td>

        <td width="55%" align="left"><b>Definition</b></td>

        <td width="15%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="const_node_iterator4205924553" id=
"const_node_iterator4205924553">const_node_iterator</a>
</pre>
        </td>

        <td>
          <pre>
<a href=
"trie_const_node_iterator.html"><span class=
"c2"><tt>const_node_iterator</tt></span></a>
</pre>
        </td>

        <td>
          <p>Const node iterator.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="node_iterator3431975247" id=
"node_iterator3431975247">node_iterator</a>
</pre>
        </td>

        <td>
          <pre>
<a href="trie_node_iterator.html"><span class=
"c2"><tt>node_iterator</tt></span></a>
</pre>
        </td>

        <td>
          <p>Node iterator.</p>
        </td>
      </tr>
    </table>

    <h2><a name="link5" id="link5">Public Methods</a></h2>

    <h3><a name="link6" id="link6">Constructors, Destructor, and
    Related</a></h3>

    <table class="c1" width="100%" border="1" summary="Methods">
      <tr>
        <td width="45%" align="left"><b>Method</b></td>

        <td width="55%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
  trie
  ()
</pre>
        </td>

        <td>
          <p>Default constructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
  trie
  (<b>const</b> <a href=
"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
</pre>
        </td>

        <td>
          <p>Constructor taking some policy objects. <span class=
          "c1"><tt>r_e_access_traits</tt></span> will be copied by
          the <a href=
          "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
          object of the container object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>template</b>&lt;
    <b>class</b> It&gt;
  trie
  (It first_it, 
    It last_it)
</pre>
        </td>

        <td>
          <p>Constructor taking iterators to a range of
          value_types. The value_types between <span class=
          "c1"><tt>first_it</tt></span> and <span class=
          "c1"><tt>last_it</tt></span> will be inserted into the
          container object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>template</b>&lt;
    <b>class</b> It&gt;
  trie
  (It first_it, 
    It last_it,
    <b>const</b> <a href=
"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
</pre>
        </td>

        <td>
          <p>Constructor taking iterators to a range of value_types
          and some policy objects. The value_types between
          <span class="c1"><tt>first_it</tt></span> and
          <span class="c1"><tt>last_it</tt></span> will be inserted
          into the container object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
  trie
  (<b>const</b> <span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Copy constructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>virtual</b> 
  ~trie
  ()
</pre>
        </td>

        <td>
          <p>Destructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<span class="c2"><tt>trie</tt></span> &amp;
  <b>operator</b>=
  (<b>const</b> <span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Assignment operator.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>void</b>
  swap
  (<span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Swaps content.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link7" id="link7">Policy Access Methods</a></h3>

    <table class="c1" width="100%" border="1" summary="Methods">
      <tr>
        <td width="45%" align="left"><b>Method</b></td>

        <td width="55%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a href=
"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
  get_e_access_traits
  ()
</pre>
        </td>

        <td>
          <p>Access to the comb_hash_fn object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href=
"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
  get_e_access_traits
  () <b>const</b>
</pre>
        </td>

        <td>
          <p>Const access to the comb_hash_fn object.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link8" id="link8">Node-Iteration Methods</a></h3>

    <table class="c1" width="100%" border="1" summary="Methods">
      <tr>
        <td width="45%" align="left"><b>Method</b></td>

        <td width="55%" align="left"><b>Description</b></td>
      </tr>

      <tr>
        <td>
          <pre>
<a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
  node_begin
  ()
</pre>
        </td>

        <td>
          <p>Returns a <a href=
          "#node_iterator3431975247"><tt>node_iterator</tt></a>
          corresponding to the node at the root of the trie.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href=
"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
  node_begin
  () <b>const</b>
</pre>
        </td>

        <td>
          <p>Returns a <a href=
          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
          corresponding to the node at the root of the trie.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
  node_end
  ()
</pre>
        </td>

        <td>
          <p>Returns a <a href=
          "#node_iterator3431975247"><tt>node_iterator</tt></a>
          corresponding to a node just after a leaf of the
          trie.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href=
"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
  node_end
  () <b>const</b>
</pre>
        </td>

        <td>
          <p>Returns a <a href=
          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
          corresponding to a node just after a leaf of the
          trie.</p>
        </td>
      </tr>
    </table>
  </div>
</body>
</html>
